package com.excesys.exsecs.access.vo;

import cn.hutool.json.JSONObject;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.handlers.FastjsonTypeHandler;
import com.excesys.exsecs.access.converter.OnlineConverter;
import com.excesys.exsecs.common.excel.annotation.ExcelLine;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import javax.validation.constraints.NotBlank;

@Data
@ColumnWidth(30)
public class AccessProductVO {

	/**
	 * 导入时候回显行号
	 */
	@ExcelLine
	@ExcelIgnore
	private Long lineNum;

	/**
	 * 品类标识
	 */
	@ExcelProperty("品类标识")
	private String category;

	/**
	 * 设备在线
	 */
	@NotBlank(message = "产品名称不能为空")
	@ExcelProperty("产品名称")
	private String name;

	/**
	 * 节点类型(字典)：0-网关设备、1-网关子设备、2-直连设备
	 */
	@ExcelProperty("节点类型(字典)：0-网关设备、1-网关子设备、2-直连设备")
	private String nodeType;

	/**
	 * 接入方式(字典)：默认:mqtt
	 */
	@ExcelProperty("接入方式(字典)：默认:mqtt")
	private String accessWay;

	/**
	 * 是否发布，定义为枚举：0-不发布、1-发布
	 */
	@ExcelProperty("是否发布:0-不发布、1-发布")
	private String isPublish;

	/**
	 * 物模型json
	 */
	@Schema(description="物模型json")
	@TableField(exist = false)
	private String model;
}
